1. Technical Field of the Invention
The present invention relates to spinning a polyphase motor from a stationary position to a desired velocity, and particularly to a system and method for adaptively spinning a polyphase motor based in part upon the motor position during the time the motor is initially energized.
2. Description of the Related Art
Although the present invention pertains to multiphase and/or polyphase dc motors, in general, it finds particular application in conjunction with three phase dc motors, particularly of the brushless, sensorless type which are used for rotating data media, such as found in computer related applications, including hard disk drives, CD ROM drives, floppy disks, and the like. In computer applications, three phase brushless, sensorless dc motors are becoming more popular, due to their reliability, low weight, and accuracy.
Motors of this type can typically be thought of as having a stator with three coils and/or windings connected in a xe2x80x9cYxe2x80x9d configuration, although actually, a larger number of stator windings are usually employed with multiple motor poles. Typically, in such applications, eight pole motors are used having twelve stator windings and four N-S magnetic sets on the rotor, resulting in four electrical cycles per revolution of the rotor. The stator windings, however, can be analyzed in terms of three xe2x80x9cYxe2x80x9d connected coils, connected in three sets of four coils and/or windings, each physically separated by 90 degrees. In operation, the windings are energized in sequences or commutation phases, in each of which a current path is established through two windings of the xe2x80x9cYxe2x80x9d, with the third winding left floating. The sequences are arranged so that as the current paths are changed, or commutated, one of the windings of the current path is switched to float, and the previously floating winding is switched into the current path. Moreover, the commutation sequence or phase is defined such that when the floating winding is switched into the current path, current will flow in the same direction in the winding which was included in the prior current path. In this manner, six commutation sequences are defined for each electrical cycle in a three phase motor.
In the past, during the operation of a polyphase dc motor for a disk drive system, such as a spindle motor for spinning the disk media upon which data is stored, it has been recognized that maintaining a known position of the rotor of the motor is an important concern. There have been various ways by which this was implemented. The most widely used way, for example, was to start the spindle motor in a known position, then develop information related to the instantaneous or current position of the rotor. One source of such instantaneous position information was developed as a part of the commutation process, and involved identifying the floating winding, and monitoring its back emf, that is, the emf induced into the coil as it moves through the magnetic field provided by the stator.
When the voltage of the floating winding crossed zero (referred to in the art as xe2x80x9ca zero crossingxe2x80x9d), the position of the rotor was assumed to be known. Upon the occurrence of this event, the rotor winding commutation sequence was incremented to the next commutation phase, and the process repeated. The assumption that the zero crossing accurately indicated the rotor position was generally correct if the spindle motor was functioning properly, and nothing had occurred which would disturb its synchronization from its known startup position. However, in reality, events occur which sometimes result in a loss of synchronization. Such a loss of synchronization may occur, for instance, if the spindle motor of the disk drive is slowed due to a relatively prolonged absence of requests to access the disk drive. The motor controller of the disk drive must thereafter determine the state of the rotor in order to appropriately respond to the reception of a memory access request. In particular, the motor controller must relatively rapidly spin up and/or increase the spin of the motor to an operable spin level before the requested memory access can occur.
Conventional disk drive systems attempt to quickly spin up the spindle motor from an inactive state by initially determining the position of a stationary spindle motor and thereafter applying drive signals thereto. Assuming that the spindle motor was moving and/or responding to the applied drive signals as expected after initially energizing the motor, the conventional disk drive systems would not closely monitor the status and/or position of the spindle motor, thereby increasing the likelihood of the spindle motor not operating as desired. Consequently, in some instances the spindle motor in conventional disk drive systems would not efficiently spin up from a stationary or inactive state to a desired velocity.
The present invention overcomes the shortcomings in prior systems and thereby satisfies a significant need for a method and system for adaptively spinning up the spindle motor of a disk drive from a stationary state to an operable state for performing a memory access operation. The system and method include initially repeatedly energizing the motor from a known stationary position, detecting whether the motor moved as desired each time the motor is energized and performing a position sense operation to confirm the motion detected. The motor is energized based upon the sensed position. Upon the occurrence of consecutive detections of motor movement that are each confirmed by a position sense operation, an acceleration procedure is applied to the motor to quickly ramp up the velocity of the motor to the desired level to perform a memory access operation. By closely monitoring the status of the motor each time the motor is initially energized, the desired operation of the motor is better ensured.